package ar.com.uade.administradorsiembra.modelo.reglas;

import java.util.HashMap;
import java.util.List;

import ar.com.uade.administradorsiembra.modelo.Cereal;
import ar.com.uade.administradorsiembra.modelo.Lote;
import ar.com.uade.administradorsiembra.modelo.MineralPorcentaje;

public class Contexto {
	
	private static final String LOTE = "LOTE";
	private static final String CEREAL = "CEREAL";
	private static final String TIPO_CEREAL = "TIPO_CEREAL";
	private static final String MINERAL_PRINCIPAL = "MINERAL_PRINCIPAL";
	private static final String LISTA_CEREALES = "LISTA_CEREALES";
	
	
	private HashMap<String, Object> contenedorContexto;

	public Contexto() {
		this.contenedorContexto = new HashMap<String, Object>();
	}
	
	public void addLoteContexto(Lote lote) {
		this.contenedorContexto.put(LOTE, lote);
	}
	
	public Lote getLoteContexto() {
		return (Lote) this.contenedorContexto.get(LOTE);
	}

	
	public void addTipoUltimoCereal(Integer ultimoCeral) {
		this.contenedorContexto.put(TIPO_CEREAL, ultimoCeral);	
	}
	public Integer getTipoUltimoCereal() {
		return (Integer)	this.contenedorContexto.get(TIPO_CEREAL);		
	}

	public Cereal getCereal() {
		// TODO Auto-generated method stub
		return (Cereal) this.contenedorContexto.get(CEREAL);
	}

	public void addMineralPrincipal(MineralPorcentaje mineralPrincipal) {
		this.contenedorContexto.put(MINERAL_PRINCIPAL, mineralPrincipal);
	}
	public MineralPorcentaje getMineralPrincipal() {
		return (MineralPorcentaje) this.contenedorContexto.get(MINERAL_PRINCIPAL);
	}

	public void addListaCereales(List<Cereal> cerealesPosibles) {
		// TODO Auto-generated method stub
		this.contenedorContexto.put(LISTA_CEREALES, cerealesPosibles);
	}

	
	@SuppressWarnings("unchecked")
	public List<Cereal> getListaCereales() {
		// TODO Auto-generated method stub
		return (List<Cereal>) this.contenedorContexto.get(LISTA_CEREALES);
	}

	public void addCerealMayorRendimiento(Cereal cerealMayorRendimiento) {
		// TODO Auto-generated method stub
		this.contenedorContexto.put(CEREAL, cerealMayorRendimiento);		
		
	}

}
